package cn.xy.ymcc.doc;

import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.springframework.data.annotation.Id;
import org.springframework.data.elasticsearch.annotations.Document;
import org.springframework.data.elasticsearch.annotations.Field;
import org.springframework.data.elasticsearch.annotations.FieldType;

import java.math.BigDecimal;
import java.util.Date;

@Document(indexName = "course" , type = "_doc")
@Data
@AllArgsConstructor
@NoArgsConstructor

public class CourseDoc {
    @Id
    private Long id;
    //课程名字要分词
    @Field(type= FieldType.Text,analyzer = "ik_max_word",searchAnalyzer = "ik_max_word")
    private String name;

    @Field(type= FieldType.Keyword) //整体搜索，不分词
    private String gradeName;

    //适用人群
    @Field(type = FieldType.Keyword)
    private String forUser;
    //课程分类id
    @Field(type = FieldType.Long)
    private Long courseTypeId;
    //课程分类名字
    @Field(type = FieldType.Keyword)
    private String courseTypeName;
    //课程封面
    @Field(type = FieldType.Keyword)
    private String pic;
    //上架时间
    @Field(type = FieldType.Date)
    private Date onlineTime;
    //时长
    @Field(type = FieldType.Integer)
    private Integer totalMinute;
    //老师名字
    @Field(type = FieldType.Text,analyzer = "ik_max_word",searchAnalyzer = "ik_max_word" )
    private String teacherNames;
    //收费规则
    @Field(type = FieldType.Keyword)
    private String chargeName;
    /**
     * 价格
     */
    @Field(type = FieldType.Double)
    private BigDecimal price;
    /**
     * 原价
     */
    @Field(type = FieldType.Double)
    private BigDecimal priceOld;
    //销量
    @Field(type = FieldType.Integer)
    private Integer saleCount;
    /**
     * 浏览量
     */@Field(type = FieldType.Integer)

    private Integer viewCount;
    /**
     * 评论数
     */
    @Field(type = FieldType.Integer)
    private Integer commentCount;




}
